# -*- coding: utf-8 -*-
#!/usr/bin/env python

import sqlite3
import csv

class Database:

    def createAndFillIn(): '''cria a base de dados'''
    connection = sqlite3.connect('Database.db')
    cursor = connection.cursor()

    cursor.execute("""CREATE TABLE IF NOT EXISTS tabela
                          (codigo_docente INTEGER PRIMARY KEY,
                           nome_completo__docente TEXT,
                           ultimo_grau TEXT,
                           curso TEXT,
                           categoria TEXT,
                           regime_tempo TEXT,
                           ano_lectivo TEXT,
                           tipo_estabelecimento TEXT,
                           nome_estabelecimento TEXT)""")

    connection.commit()
    header = [] #para guardar os valores da primeira linha dos ficheiros csv
    for i in range (0, 11):
        dadosRebides = csv.reader(open('rebcsv/reb' + str(i) + '.csv', 'rb'), delimiter = ',')
        linha = 0
        for row in dadosRebides:
            values = [] #para guardar os restantes dados dos ficheiros csv
            for coluna in row:
                values.append(coluna)
                if linha != 0: #para ser possível guardar a primeira linha dos ficheiros csv na lista header
                    for row in dadosRebides:
                        cmd = """INSERT OR REPLACE INTO tabela
                                (codigo_docente,
                                 nome_completo__docente,
                                 ultimo_grau,
                                 curso,
                                 categoria,
                                 regime_tempo,
                                 ano_lectivo,
                                 tipo_estabelecimento,
                                 nome_estabelecimento)
                                 VALUES ('{0}', '{1}', '{2}', '{3}', '{4}', '{5}', '{6}', '{7}', '{8}')""".\
                                 format(str(row[0]),
                                   str(row[1]).replace( '\'', '*' ), # susbitui as " por ¨ para conseguir inserir os dados na Base de Dados
                                   str(row[2]).replace( '\'', '*' ),
                                   str(row[3]).replace( '\'', '*' ),
                                   str(row[4]).replace( '\'', '*' ),
                                   str(row[5]).replace( '\'', '*' ),
                                   str(row[6]).replace( '\'', '*' ),
                                   str(row[7]).replace( '\'', '*' ),
                                   str(row[8]).replace( '\'', '*' ))

                        
                        cursor.execute(cmd)
                        pass
                else:
                    header = values
                    linha = 1
                    pass
            pass
            connection.commit()
            #connection.close()
            print "Base de dados  completada com sucesso!"
        pass

